home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / programming / basic / blitzandpieces / flushlibs.asc < prev    next >
Encoding:
Text File  |  1999-05-14  |  791 b   |  27 lines

  1. ; Flushes all unused libraries :
  2.  
  3. ; Author : James L Boyd - jamesboyd@all-hail.freeserve.co.uk
  4.  
  5. ; Adapted from Krzysztof Cmok's E source.
  6.  
  7. *exec.ExecBase=Peek.l(4)                    ; get execbase
  8. *mylist.List=*exec\LibList                  ; get library list
  9. *mynode.Node=*mylist\lh_Head                ; library references
  10.  
  11. Forbid_                                     ; stop everything!
  12.  
  13.   While *mynode\ln_Succ                     ; check all nodes
  14.     a$=Peek$(*mynode\ln_Name)               ; get library name
  15.     *libnode.Node=FindName_ (*mylist,&a$)   ; find in list
  16.     If *libnode
  17.       RemLibrary_ *libnode                  ; try and free it
  18.     EndIf
  19.  
  20.     *mynode=*mynode\ln_Succ                 ; NEXT!
  21.  
  22.   Wend
  23.  
  24. Permit_                                     ; go, Amiga, go!
  25.  
  26. End
  27.